﻿<!DOCTYPE html>
<html>
<head>
	<title></title>
	<link rel="stylesheet" type="text/css" href="../公用CSS文件/all.css" />
	<meta charset="utf-8">
	<script type="text/javascript" src="../js/jquery.min.js"></script> 	<script type="text/javascript" src="../js/js.js"></script>
	<style type="text/css">
		table{width: 80%}
	</style>	
</head>
<body>

<div class="dt">yum搭建web环境</div>
<ul>
	
	<div class="ltable showimg">安装httpd</div>
	<div class="img">
		<table>
			<tr>
				<th>yum安装httpd</th><th>说明</th>
			</tr>
			<tr>
				<td>安装命令</td><td>yum -y install httpd</td>
			</tr>
			<tr>
				<td>默认安装路径</td><td>/etc/httpd</td>
			</tr>
			<tr>
				<td>开启httpd服务</td><td>service httpd start</td>
			</tr>
			<tr>
				<td>关闭httpd服务</td><td>service httpd stop</td>
			</tr>
			<tr>
				<td>重启httpd服务</td><td>service httpd restart</td>
			</tr>
		</table>
		<li>安装路径下，conf为主配置文件存放地，conf.d是额外配置文件目录库，logs为日志文件存放地，modules为模块目录，run为进程文件存放地址</li>
		<li>-y参数的意义是遇到询问全部yes，这样才能一键默认安装</li>
	</div>

	<div class="ltable showimg">安装nginx</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>下载编译需要的编译器</td><td>yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel</td>
			</tr>
			<tr>
				<td>下载安装包</td><td>wget http://nginx.org/download/nginx-1.8.1.tar.gz</td>
			</tr>
			<tr>
				<td>解压安装包</td><td>tar  xvf nginx-1.8.1.tar.gz</td>
			</tr>
			<tr>
				<td>进入包目录</td><td>cd nginx-1.8.1</td>
			</tr>
			<tr>
				<td>编译安装</td><td>./configure</td>
			</tr>
			<tr>
				<td>生成配置文件和安装</td><td>make && make install</td>
			</tr>
			<tr>
				<td>启动nginx</td><td>/usr/local/nginx/sbin/nginx</td>
			</tr>
			<tr>
				<td>停止nginx</td><td>/usr/local/nginx/sbin/nginx -s stop</td>
			</tr>
			<tr>
				<td>重启nginx</td><td>/usr/local/nginx/sbin/nginx -s reload</td>
			</tr>
		</table>
		<li>配置文件/usr/local/nginx/conf/nginx.conf</li>
		<li>默认网站目录/usr/local/nginx/html</li>
	</div>

	<div class="ltable showimg">nginx配置</div>
	<div class="img">
		<img src="img/nginx配置.png">
	</div>

	<div class="ltable showimg">安装mysql</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><td>说明</td><td>备注</td>
			</tr>
			<tr>
				<td>安装</td><td>yum -y install mysql-server</td><td>有些版本例如centos7.4的yum网络仓库中没有mysql-server，这时候需要手动下载文件到本地然后安装</td>
			</tr>
			<tr>
				<td>下载mysql的repo源</td><td>wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm </td><td>如果能直接安装可以跳过</td>
			</tr>
			<tr>
				<td>安装mysql的repo源</td><td>rpm -ivh mysql57-community-release-el7-8.noarch.rpm </td>
			</tr>
			<tr>
				<td>启动mysql</td><td>service mysqld start</td>
			</tr>
			<tr>
				<td>关闭mysql</td><td>service mysqld stop</td>
			</tr>
			<tr>
				<td>重启mysql</td><td>service mysqld restart</td>
			</tr>
		</table>
		<li>Linux系统的mysql安装后是有默认密码的，查看命令为grep "password" /var/log/mysqld.log，并且第一次登陆必须修改密码才能进行操作</li>
	</div>

	<div class="ltable showimg">安装php和其他Lamp关联组件</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><td>说明</td>
			</tr>
			<tr>
				<td>安装mysql和php关联组件</td><td>yum -y install mysql php php-mysql mysql-devel</td>
			</tr>
			<tr>
				<td>安装必须php组件</td><td>yum -y install php-gd libjpeg* php-imap php-ldap php-pear php-xml php-xmlrpc php-mbstring
php-mcrypt php-bcmath php-mhash libmcrypt</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">yum安装php7.2.6</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>下载yum源</td><td>rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm </td>
			</tr>
			<tr>
				<td>安装yum源</td><td>rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm</td>
			</tr>
			<tr>
				<td>安装php和组件</td><td>yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
				</td>
			</tr>
		</table>
		<li>如果已经安装过，为了避免冲突，安装之前必须卸载之前安装的版本，yum -y remove php*</li>
		<li>仅在CentOS 7.4 64位安装成功，其他系统未知</li>
	</div>

	<div class="ltable showimg">安装composer和laravel</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>下载composer二进制文件</td><td>curl -sS https://getcomposer.org/installer | php</td>
			</tr>
			<tr>
				<td>全局安装</td><td>mv composer.phar /usr/local/bin/composer</td>
			</tr>
			<tr>
				<td>设置中国composer镜像</td><td>composer config -g repo.packagist composer https://packagist.phpcomposer.com</td>
			</tr>
			<tr>
				<td>安装laravel</td><td>composer create-project --prefer-dist laravel/laravel blog "5.4.*"</td>
			</tr>
		</table>
		<li>laravel版本可以指定</li>
		<li>在centos7系统composer1.6.5中，使用require方式无法安装，上面的安装也缺少vendor文件夹，原因未知</li>
	</div>
</ul>



<div class="dt">Linux卸载安装软件</div>
<ul>
	<div class="ltable showimg">yum卸载安装软件</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th><th>备注</th>
			</tr>
			<tr>
				<td>一键卸载</td><td>yum -y remove 软件或服务名</td><td>安装了yum仓库并且软件和服务名需要在yum仓库中有对应的软件</td>
			</tr>
			<tr>
				<td>一键安装</td><td>yum -y install 软件或服务</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">rpm卸载安装软件</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>卸载</td><td>rpm -ev 软件或服务名</td>
			</tr>
			<tr>
				<td>安装</td><td>rpm -ivh 软件包</td>
			</tr>
			<tr>
				<td>强制安装</td><td>rpm --force 软件包</td>
			</tr>
			<tr>
				<td>不考虑依赖属性强制安装</td><td>rpm --nodeps</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">安装目录详解</div>
	<div class="img">
		<table>
			<tr>
				<th>地址目录</th><th>说明</th><th>对比</th>
			</tr>
			<tr>
				<td>/usr/local/src/</td><td>用户级源码目录</td><td>相当于windows的C:/Progrem Files</td>
			</tr>
			<tr>
				<td>/usr/scr</td><td>系统级的源码目录</td><td>相当于C:/windows/</td>
			</tr>
			<tr>
				<td>/opt</td><td>第三方软件程序目录</td><td>相当于D:/Software</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">Xshell上传文件</div>
	<div class="img">
		<li>安装rz命令yum install -y lrzsz，使用rz命令即可弹出上传选择框上传</li>
	</div>

</ul>
<div class="dt">Linux小工具</div>
<ul>
	
	<div class="ltable showimg">上传和下载</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>yum install -y lrzsz</td><td>安装包含rz、sz命令的lrzsz包</td>
			</tr>
			<tr>
				<td>rz</td><td>弹出上传选择框上传文件</td>
			</tr>
			<tr>
				<td>sz 文件路径</td><td>弹出下载路径框下载文件(无法下载目录)</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">压缩工具</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>yum -y install zip|unzip</td><td>安装zip、unzip命令(操作系统默认无zip工具)</td>
			</tr>
			<tr>
				<td>zip 【选项】 压缩文件名 文件或目录</td><td>压缩文件</td>
			</tr>
			<tr>
				<td>unzip zip压缩文件</td><td>解压zip文件</td>
			</tr>
		</table>
		<li>zip压缩目录默认只会压缩目录下的文件，如果要压缩目录中的目录，使用-r选项递归压缩</li>
	</div>
</ul>


<div class="dt">Linux系统git版本控制系统</div>
<ul>
	
	<div class="ltable showimg">git安装</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>安装依赖</td><td>yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker</td>
			</tr>
			<tr>
				<td>解压</td><td>tar xzf git-2.13.1.tar.gz</td>
			</tr>
			<tr>
				<td>进入目录</td><td>cd git-2.13.1</td>
			</tr>
			<tr>
				<td>编译</td><td>cd git-2.13.1</td>
			</tr>
			<tr>
				<td>生成配置文件、安装</td><td>make && make install</td>
			</tr>
		</table>
		<li><a href="编译安装包/git-2.13.1.tar.gz" download="git-2.13.1.tar.gz">本地下载编译安装包</a></li>
	</div>

	<div class="ltable showimg">基本git命令</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>查看版本</td><td>git version</td>
			</tr>
			<tr>
				<td>添加git用户</td><td>useradd -r -s /bin/sh -c 'git version control' -d /home/git git </td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">获取与创建项目命令</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>创建新仓库repository</td><td>git init</td><td>在当前目录下创建版本仓库，会生成.get隐藏文件夹</td>
			</tr>
			<tr>
				<td>拷贝仓库到本地</td><td>git clone 【url】</td><td>拷贝完成后会生成.git、Rakefile、lib等文件夹README文件</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">版本控制命令</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>git status</td><td><td>查看当前仓库状态</td>会展示那些文件可以提交到commit事务以及commit里有那些文件</td>
			</tr>
			<tr>
				<td>git add 文件</td><td>添加文件到缓存区</td>
			</tr>
			<tr>
				<td>git add -A</td><td>添加目录所有文件到缓存区</td>
			</tr>
			<tr>
				<td>git commit 【-m 备注信息】</td><td>将缓存区更改提交至本地仓库</td>
			</tr>
			<tr>
				<td>git reset HEAD 文件</td><td>删除缓存区的指定文件</td>
			</tr>
			<tr>
				<td>git rm 【-f】 文件 【文件...】 【--cached】</td><td>从已跟踪目录中删除文件，-f在缓存区和文件内容有冲突时强制删除，--cached仅删除缓存区</td>
			</tr>
			<tr>
				<td>git mv 文件 【文件...】</td><td>在git缓存和目录同时移动或重命名一个文件、目录、软连接</td>
			</tr>
			<tr>
				<td>git reset --hard 版本号</td><td>恢复到指定版本号--前进后退</td>
			</tr>
			<tr>
				<td>git log</td><td>查看当前版本之前的提交记录</td>
			</tr>
			<tr>
				<td>git relog</td><td>查看版本变更记录--版本回退同步等</td>
			</tr>
			<tr>
				<td>git diff</td><td>查看当前文件与缓存区文件的差异</td>
			</tr>
			<tr>
				<td>git checkout -- file</td><td>取消更改，将缓存区的文件提取覆盖当前文件</td>
			</tr>
			
			<tr>
				<td>git clean -xf</td><td>删除当前目录中所有未追踪的文件</td>
			</tr>
			<tr>
				<td>git branch -b branch_name</td><td>建立一个新的分支</td>
			</tr>
			<tr>
				<td>git config --global core.quotepath false</td><td>处理中文文件名</td>
			</tr>
		</table>
	</div>
<!-- https://www.cnblogs.com/sgdd123/p/8338403.html -->
<!-- http://www.runoob.com/git/git-basic-operations.html -->

</ul>

<div class="dt">Linux系统FTP服务器</div>
<ul>
	
	<div class="ltable showimg">安装vsftpd服务器</div>
	<div class="img">
		<li>centos7系统下使用yum即可安装，版本为3.0.2-22.el7，配置文件为/etc/vsftpd/vsftpd.conf </li>
	</div>

	<div class="ltable showimg">vsftpd安全配置项</div>
	<div class="img">
		<table>
			<tr>
				<th>配置项</th><th>说明</th>
			</tr>
			<tr>
				<td>anonymous_enable</td><td>是否允许匿名登录，默认允许，正式环境一般改为不允许</td>
			</tr>
			<tr>
				<td>local_enable</td><td>是否允许本地用户登录</td>
			</tr>
			<tr>
				<td>write_enable</td><td>本地用户的写权限</td>
			</tr>
			<tr>
				<td>local_umask</td><td>由该服务创建的文件的默认权限掩码</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">vsftp系统设置</div>
	<div class="img">
		<table>
			<tr>
				<th>配置项</th><th>说明</th>
			</tr>
			<tr>
				<td>listen</td><td>是否占用端口--以独立服务方式运行</td>
			</tr>
			<tr>
				<td>listen_port</td><td>服务监听端口</td>
			</tr>
			<tr>
				<td>connect_from_port_20</td><td>是否启用FTP数据端口的数据连接，这是ftp服务器主动发送数据的端口，其服务端口仍然为21</td>
			</tr>
			<tr>
				<td>local_root</td><td>ftp主目录，也可以在用户配置文件中配置用户的ftp主目录</td>
			</tr>
			<tr>
				<td>anon_root</td><td>匿名用户主目录</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">vsftpd传输类</div>
	<div class="img">
		<tr>
			<th>配置项</th><th>说明</th>
		</tr>
		<tr>
			<td>async_abor_enable</td><td>是否支持异步传输，一般需要支持</td>
		</tr>
		<tr>
			<td>ascii_upload_enable=YES</td><td>是否支持ASCII模式的下载功能，一般需要支持</td>
		</tr>
		<tr>
			<td>ascii_download_enable</td><td>是否支持ASCII模式的上传功能，一般需要支持</td>
		</tr>
		<tr>
			<td>dirmessage_enable</td><td>是否显示目录下.message的内容，必须支持</td>
		</tr>
		<tr>
			<td>dirlist_enable</td><td>是否列出目录内容，必须支持</td>
		</tr>
	</div>

	<div class="ltable showimg">vsftpd用户管理配置项</div>
	<div class="img">
		<table>
			<tr>
				<th>配置项</th><th>说明</th>
			</tr>	
			<tr>
				<td>user_config_dir</td><td>用户配置目录，一般指定在/etc/vsftpd/目录下</td>
			</tr>
			<tr>
				<td>chroot_local_user</td><td>chroot_list文件里的用户是否能登出ftp主目录，一般为NO</td>
			</tr>
			<tr>
				<td>chroot_list_file</td><td>指定chroot_list文件</td>
			</tr>
			<tr>
				<td>chroot_local_user</td><td>使用使用chroot_list文件</td>
			</tr>
			<tr>
				<td>allow_writeable_chroot</td><td>用户目录是否可写，一般需要开启，高版本有一种安全设置，当限制用户在用户ftp目录时其主目录默认不可写，如果可写在启动服务时抛出错误</td>
			</tr>
			<tr>
				<td>userlist_enable</td><td>是否启用用户黑白名单</td>
			</tr>
			<tr>
				<td>userlist_deny</td><td>是否阻止user_list用户登录，为NO时user_list文件变为白名单列表否则为黑名单</td>
			</tr>
			<tr>
				<td>user_config_dir</td><td>用户配置目录，里面的每一个文件都是同名用户的配置，可以在里面用local_root指定用户ftp目录</td>
			</tr>
		</table>
	    <li>当userlist_enable开启且userlist_deny=YES时，/etc/vsftpd/user_list名单为黑名单，为NO时为白名单，可以指定userlist_file=路径指定user_list黑白名单档案</li>
	</div>



</ul>

<div class="dt">Linux系统默认firewall防火墙</div>
<ul>
	
	<div class="ltable showimg">firewall防火墙系统</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>systemctl start firewalld.service</td><td>开启防火墙</td>
			</tr>
			<tr>
				<td>systemctl stop firewalld.service</td><td>关闭防火墙</td>
			</tr>
			<tr>
				<td>firewall-cmd --list-ports</td><td>查看防火墙已开启的端口</td>
			</tr>
			<tr>
				<td>systemctl mask firewalld</td><td>禁用firewalld服务</td>
			</tr>
			<tr>
				<td>firewall-cmd --zone=public --add-port=80/tcp --permanent</td>
				<td>开启80端口</td>
			</tr>
			<tr>
				<td>firewall-cmd --zone=public --remove-port=80/tcp --permanent</td>
				<td>关闭80端口</td>
			</tr>
			<tr>
				<td>systemctl enable firewalld</td>
				<td>设置开机启动</td>
			</tr>

		</table>
		<li>firewall防火墙是linux-Centos系统自带的防火墙，如果某些访问服务器的操作无法实现，可以试着打开端口</li>
	</div>
</ul>


<div class="dt">Linux系统iptables防火墙系统</div>
<ul>
	<div class="ltable showimg">iptables防火墙基本命令</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>iptables -V</td><td>查看iptables版本，也可以通过回馈判断iptables是否安装</td>
			</tr>
			<tr>
				<td>systemctl start iptables.service</td><td>启动iptables防火墙</td>
			</tr>
			<tr>
				<td>systemctl stop iptables.service</td><td>停止iptables防火墙</td>
			</tr>
			<tr>
				<td>systemctl restart iptables.service</td><td>重启iptables防火墙</td>
			</tr>
			<tr>
				<td>systemctl status iptables</td><td>查看iptables运行状态</td>
			</tr>
			<tr>
				<td>iptables 【-t 表名】 -A或-I 交互类型 【-i/o 输入输出接口 -p 协议名 -s源IP --dport 开放端口 --sport 源端口】 -j 处理方式</td><td>向规则链中追加一条规则(末尾加入)，如果-I则是最上方插入</td>
			</tr>
			<tr>
				<td>iptables 【-t 表名】-L 【-n -v --line-numbers】</td><td>展示指定表的规则信息，-n展示数据的端口等以数字形式否则为描述信息，-v查看规则执行情况(n、v可与L组合简写)，--line-number显示规则编号</td>
			</tr>
			<tr>
				<td>iptables -D 交互类型 编号</td><td>删除指定类型指定编号的规则</td>
			</tr>
			<tr>
				<td>iptables -R 交互类型 编号 规则语句</td><td>替换规则</td>
			</tr>
		</table>
		<li>yum安装时，iptables防火墙需要安装2个包，一个是iptables，一个是iptables-services</li>
		<li>仅在udp和tcp协议中，端口相关设置才会生效</li>
		<li>tcp协议还可以指定--tcp-flags参数，规定tcp协议各个阶段的处理方式，SYN建立连接、FIN关闭连接、ACK响应、PSH有数据传输、RST连接重置</li>
		<li>icmp协议可以指定--icmp-type参数，值为0代表回答，为8代表不应答</li>
		<li>-i/o参数指定网络接口，eth0为物理网卡,eth0:1为依赖eth0子网卡,eth0.1为依赖eth0的虚拟网卡</li>
		<li>iptables的规则配置在/etc/sysconfig/iptables文件中</li>
		<li>指定ip相关参数时，除了确定的ip地址，也可用使用子关掩码，192.168.0.0/24表示192.168.0.1-255，即最后一段地址不限制，子关掩码为16和8时以此类推</li>
	</div>


	<div class="ltable showimg">iptables规则表和处理类型--Chains</div>
	<div class="img">

		<table>
			<tr>
				<th>表</th><th>功能</th><th>链和类型</th><th>可用处理方式</th>
			</tr>
			<tr>
				<td>filter</td><td>过滤通讯数据，所以只能对包进行简单的丢弃、放行</td><td>input进入的包、output发出的包、forward转发的包</td><td>accept接受、drop丢弃</td>
			</tr>
			<tr>
				<td>nat</td><td>网络地址转换规则设置</td><td>prerouting到达内网的包进行网络地址转换、postrouting本机路由之后访问外网地址转换、output访问外网路由之前地址转换</td><td>未知</td>
			</tr>
			<tr>
				<td>mangle</td><td>指定如何处理数据包，首先处理数据的表</td><td>input、output、forward、postrouting、prerouting</td><td>未知</td>
			</tr>
			<tr>
				<td>raw</td><td>处理异常</td><td>output、prerouting</td><td>未知</td>
			</tr>
		</table>
		<li>iptable在没有任何规则设置会阻止所有访问，允许所有发送</li>
	</div>

	<div class="ltable showimg">iptables处理数据方式--Target Values</div>
	<div class="img">
		<table>
			<tr>
				<th>处理方式</th><th>说明</th>
			</tr>
			<tr>
				<td>accept</td><td>允许防火墙接受数据包</td>
			</tr>
			<tr>
				<td>drop</td><td>防火墙丢弃数据包(拒绝访问</td>
			</tr>
			<tr>
				<td>return</td><td>停止处理后续规则，并返回到调用链(the calling chain)</td>
			</tr>
			<tr>
				<td>queue</td><td>防火墙将数据包移交用户处理</td>
			</tr>
			<tr>
				<td>redirect</td><td>转发数据包(重定向)</td>
			</tr>
			<tr>
				<td>snat</td><td>转换源地址</td>
			</tr>
			<tr>
				<td>dnat</td><td>转换目的地址</td>
			</tr>
			<tr>
				<td>masquerade</td><td>ip伪装</td>
			</tr>
			<tr>
				<td>log</td><td>日志记录</td>
			</tr>
		</table>
	</div>

	
	<div class="ltable showimg">iptables处理数据流程图和其他资料</div>
	<div class="img">
		<img src="img/iptables.jpg">
		<li><a href="https://blog.csdn.net/llxx1234/article/details/78758634">iptables详细教程</a></li>
		<li><a href="https://www.cnblogs.com/alimac/p/5848372.html">linux下IPTABLES配置详解</a></li>
	</div>

</ul>





<div class="dt">通用软件相关命令</div>
<ul>
	<table>
		<tr>
			<th>命令</th><th>说明</th>
		</tr>
		<tr>
			<td>which 软键或服务名</td><td>查看软件或服务的启动文件路劲</td>
		</tr>
		<tr>
			<td>启动文件路劲 -v --help | grep -A 1'Default options'</td><td>查看软件或服务读取的配置文件</td>
		</tr>
		<tr>
			<td>service 软件或服务名 start|stop|restart</td><td>启动、停止、重启软件或服务，有时候软件服务需要依赖包才能使用/td>
		</tr>
		<tr>
			<td>systemctl start|stop|restart 系统级进程</td><td>启动、停止、重启系统级进程</td>
		</tr>
	</table>
</ul>
<div class="dt">网络通讯协议</div>
<ul>
	<div class="ltable showimg">协议类型</div>
	<div class="img">
		<table>
			<tr>
				<th>协议</th><th>说明</th><th>数据处理</th><th>应用</th>
			</tr>
			<tr>
				<td>IP</td><td>负责更高级的协议如TCP、UDP协议和更低层的网络接口层例如以太设备驱动程序之间数据的传送，数据包包含源地址和目的地址的信息</td><td>仅负责数据通讯地址的确认，不处理数据，数据完整性和完全性无保证</td><td>大多数网络通讯的认证基础</td>
			</tr>
			<tr>
				<td>TCP</td><td>面向连接的通信协议，通过三次握手建立连接，通讯完成时要拆除连接，只能用于端对端的连接</td><td>实现数据的完整传输，还可以控制发送方的发送速度</td>
				<td>http协议的基础等</td>
			</tr>
			<tr>
				<td>UDP</td><td>无连接的通讯协议，只能用于端对端的通讯，可以广播发送</td><td>不确认数据的顺序、错误和重发</td><td>主要应用于简单的应答服务，例如NFS、NTP(网络时间协议)和DNS(DNS也使用TCP)</td>
			</tr>
			<tr>
				<td>ICMP</td><td>用来传送IP的控制信息</td><td>主要用来提供有关通向目的地址的路径信息，通知主机通向其他系统更准确的路径或指出路径的错误</td><td>ping命令</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">数据格式</div>
	<div class="img">
		<table>
			<tr>
				<th>格式</th><th>说明</th>
			</tr>
			<tr>
				<td>数据帧</td><td>帧头+IP数据包+帧尾 （帧头包括源和目标主机MAC初步地址及类型，帧尾是校验字）</td>
			</tr>
			<tr>
				<td>IP数据包</td><td>IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)</td>
			</tr>
			<tr>
				<td>TCP数据信息</td><td>TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等）</td>
			</tr>
		</table>
	</div>
</ul>



</body>
</html>

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
<!-- 云服务器 ECS Linux MySQL 无法远程连接问题常见错误及解决办法 -->
<!-- https://help.aliyun.com/knowledge_detail/41104.html -->
<!-- https://www.cnblogs.com/EasonJim/p/6847874.html -->
<!-- https://blog.csdn.net/llxx1234/article/details/78758634 -->
<!-- https://www.cnblogs.com/alimac/p/5848372.html -->

